package com.easylinkin.linkappapi.deviceattribute.service;

import com.easylinkin.linkappapi.deviceattribute.entity.DeviceAttributeTenantConfig;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import java.util.Set;

/**
 * <p>
 * 设备属性租户个性化配置 服务类
 * </p>
 *
 * @author TongJie
 * @since 2020-10-28
 */
public interface DeviceAttributeTenantConfigService extends IService<DeviceAttributeTenantConfig> {

    /**
     * 批量新增
     * @param deviceAttributeTenantConfigList 租户个性化属性配置列表
     */
    void batchSaveDeviceAttributeTenantConfigs(List<DeviceAttributeTenantConfig> deviceAttributeTenantConfigList);

    /**
     * 新增
     * @param deviceAttributeTenantConfig 租户个性化属性配置 vo
     */
    void add(DeviceAttributeTenantConfig deviceAttributeTenantConfig);

    /**
     * 查询 设备属性租户配置列表
     * @param deviceAttributeTenantConfig 查询对象 vo
     * @return
     */
    List<DeviceAttributeTenantConfig> getDeviceAttributeTenantConfigs(DeviceAttributeTenantConfig deviceAttributeTenantConfig);

    /**
     *  对新增的属性，查询旧版的属性是否有个性化配置 如果有修改，用新增的属性id 替换
     * @param addDeviceAttrIds 新增的属性id的集合
     */
    //    void inheritPersonalizedConfig(Set<String> addDeviceAttrIds);

    void inheritPersonalizedConfig(String existRefId,String tenantId,String newDeviceUnitId);

    void deleteByTenantIdAndUnitId(String tenantId, String existRefUnitId);
}
